Crate ash[−][src]
Expand description
Vulkan API
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/index.html
Examples
use ash::{vk, Entry};
let entry = unsafe { Entry::new() }?;
let app_info = vk::ApplicationInfo {
api_version: vk::make_api_version(0, 1, 0, 0),
..Default::default()
};
let create_info = vk::InstanceCreateInfo {
p_application_info: &app_info,
..Default::default()
};
let instance = unsafe { entry.create_instance(&create_info, None)? };
Getting started
Load the Vulkan library at the default location using Entry::new()
,
or at a custom location using Entry::with_library("path/to/vulkan")
.
These loaders use libloading
. If you wish to perform function loading yourself
call EntryCustom::new_custom()
with a closure turning function names
into function pointers.
Modules
Wrappers for Vulkan extensions
Raw Vulkan bindings and types, generated from vk.xml
Macros
Structs
Holds a custom type L
to load symbols from (usually a handle to a dlopen
ed library),
the vkGetInstanceProcAddr
loader function from
this library (in vk::StaticFn
), and Vulkan’s “entry point” functions (resolved with NULL
instance
) as listed in vkGetInstanceProcAddr
’s description.
Enums
Traits
Type Definitions
Default function loader